//
//  PywTextFieldView.h
//  PywSdk2.2_Test
//
//  Created by smallwave on 16/7/28.
//  Copyright © 2016年 yyft. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef NS_OPTIONS(NSInteger, TextFieldType){
    TextFieldType_Phone = 1,            // 手机号码
    TextFieldType_PhoneOrAccount = 2,   // 手机号码/游戏账号
    TextFieldType_Password = 3,         // 密码
    TextFieldType_SmsCode = 4,          // 验证码
};

@class PywTextFieldView;
@protocol PywTextFieldViewDelegate <NSObject>
@optional
- (void)textFieldView:(PywTextFieldView *)textField buttonEvent:(UIButton *)btn;
@end


@interface PywTextFieldView : UIView

@property (nonatomic, weak) id<PywTextFieldViewDelegate> delegate;
@property (nonatomic, copy) NSString                *text;          // 文本内容
@property (nonatomic, strong) UIButton              *operationBtn;  // 操作按钮
// 设置密码输入框 明/密文显示【YES：密文显示；NO：明文显示】
@property(nonatomic,getter=isSecureTextEntry) BOOL  secureTextEntry;
@property(nonatomic, copy) NSString *accessibilityId;

/**
 *  手机号码 输入框
 *
 *  @param leftImg     文本输入框 textField.leftView 的图片名称
 *  @param placeholder 文本输入框 textField.placeholder 提示文字
 *
 *  @return 返回一个自定义的 手机号码输入框
 */
+ (instancetype)phoneTextFieldWithLeftImg:(NSString *)leftImg
                          TextPlaceholder:(NSString *)placeholder;
/**
 *  手机号/游戏账号 输入框
 *
 *  @param leftImg     文本输入框 textField.leftView 的图片名称
 *  @param placeholder 文本输入框 textField.placeholder 提示文字
 *
 *  @return 返回一个自定义的 手机号|游戏账号输入框
 */
+ (instancetype)phoneOrAccountTextFieldWithLeftImg:(NSString *)leftImg
                                   TextPlaceholder:(NSString *)placeholder;
/**
 *  验证码输入框
 *
 *  @param leftImg     文本输入框 textField.leftView 的图片名称
 *  @param placeholder 文本输入框 textField.placeholder 提示文字
 *  @param delegate    Delegate
 *  @param buttonTitle 操作按钮的标题
 *
 *  @return 返回一个自定义的 验证码输入框
 */
+ (instancetype)validCodeTextFieldWithLeftImg:(NSString *)leftImg
                              TextPlaceholder:(NSString *)placeholder
                                     Delegate:(id<PywTextFieldViewDelegate>)delegate
                                  ButtonTitle:(NSString *)buttonTitle;
/**
 *  密码输入框
 *
 *  @param leftImg     文本输入框 textField.leftView 的图片名称
 *  @param placeholder 文本输入框 textField.placeholder 提示文字
 *  @param normalImg   操作按钮默认显示图片名称
 *  @param selectedImg 操作按钮选中显示图片名称
 *
 *  @return 返回一个自定义的 密码输入框
 */
+ (instancetype)passwordTextFieldWithLeftImg:(NSString *)leftImg
                             TextPlaceholder:(NSString *)placeholder
                             ButtonNormalImg:(NSString *)normalImg
                           ButtonSelectedImg:(NSString *)selectedImg;

@end
